/**   
 * 文件名：StringUtil.java</br>
 * 描述： </br>
 * 开发人员：汪浩博 </br>
 * 创建时间： 2016-5-6
 */ 

package com.base.util;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/** 
 * 类名: StringUtil</br> 
 * 包名：com.base.util </br> 
 * 描述: 日期工具类</br>
 * 发布版本号：</br>
 * 开发人员： 汪浩博</br>
 * 创建时间： 2016-5-6 
 */

public class DateUtil {
	/**
	 * 获取当前时间字符串
	 * @return 当前时间字符串 yyyy-MM-dd HH:mm:ss的形式
	 */
	public static String getStringTime(){
		Date date = new Date();//获取当前系统时间
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置格式化格式
		return sdf.format(date);//返回格式化后的时间
	}
	/**
	 * 获取当前时间字符串
	 * @return 当前时间字符串  yyyyMMddHHmmss的形式
	 */
	public static String getStringTime2(){
		Date date = new Date();//获取当前系统时间
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");//设置格式化格式
		return sdf.format(date);//返回格式化后的时间
	}
	/**
	 * 获取当前时间字符串
	 * @return 当前时间字符串  例如：MMddHHmmss形式
	 * 第一个是月
	 */
	public static String getStringTime3(){
		Date date = new Date();//获取当前系统时间
		SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss");//设置格式化格式
		return sdf.format(date);//返回格式化后的时间
	}
	
	/**
	 * 方法名: getTime</br>
	 * 详述: 获取当前系统day天后的日期</br>
	 * 开发人员：汪浩博</br>
	 * 创建时间：2016-5-20</br>
	 * @param day 可以是正数，也可以是负数
	 * @return
	 */
	public static String getSystemTime(int day){
		Date date = new Date();
		Calendar calendar = Calendar.getInstance();  
        calendar.setTime(date);  
        calendar.add(Calendar.DAY_OF_MONTH, day);  
        date = calendar.getTime();
        date.setHours(0);//设置时分秒都为 0
        date.setMinutes(0);
        date.setSeconds(0);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置格式化格式
		return sdf.format(date);//返回格式化后的时间
	}
	
	public static void main(String[] args) {
		System.out.println(getSystemTime(-7));
	}
}
